Cyclic reference counting by typed reference fields

نویسندگان

  • J. Morris Chang
  • Wei-Mei Chen
  • Paul A. Griffin
  • Ho-Yuan Cheng
چکیده

Reference counting strategy is a natural choice for real-time garbage collection, but the cycle collection phase which is required to ensure the correctness for reference counting algorithms can introduce heavy scanning overheads. This degrades the efficiency and inflates the pause time required for garbage collection. In this paper, we present two schemes to improve the efficiency of reference counting algorithms. First, in order to make better use of the semantics of a given program, we introduce a novel classification model to predict the behavior of objects precisely. Second, in order to reduce the scanning overheads, we propose an enhancement for cyclic reference counting algorithms by utilizing strongly-typed reference features of the Java language. We implement our proposed algorithm in Jikes RVM and measure the performance over various Java benchmarks. Our results show that the number of scanned objects can be reduced by an average of 37.9% during cycle collection phase. & 2011 Elsevier Ltd. All rights reserved.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cyclic Reference Counting with Permanent Objects

Reference Counting is the memory management technique of most widespread use today. Very often applications handle objects that are either permanent or get tenured. This paper uses this information to make cyclic reference counting more efficient.

متن کامل

Storage Allocation in Typed Languages

Several interfaces between a strongly typed language and a storage allocator or deallocator are defined. Using these interfaces, it is possible to program a wide variety of allocation and automatic deallocation strategies: boundary tag allocator, buddy system, reference counting, trace-and-mark garbage collection and many others. Provided the allocator and deallocator have certain well-defined ...

متن کامل

/d] \ &\folf 5hihuhqfh &rxqwlqj

Reference counting is a widely employed memory management technique, in which garbage collection operations are interleaved with computation. Standard reference counting has the major drawback of being unable to handle cyclic structures. This paper presents an important optimisation to a recently published algorithm for cyclic reference counting. Proofs of the correctness of the original and la...

متن کامل

Distributed Cyclic Reference Counting

We present a distributed cyclic reference counting algorithm which incorporates both, the correct management of cyclic data structures and the improvement of lazy mark-scan. The algorithm allows processors to run local mark-scan simultaneously without any need of synchronisation between phases of di erent local mark-scans either on the same processor or on di erent processors.

متن کامل

Cyclic Weighted Reference Counting without Delay

Weighted Reference Counting is a low communication distributed storage reclamation scheme for loosely-couple multiprocessors. The algorithm we present herein extends weighted reference counting to allow the collection of cyclic data structures. To do so, the algorithm identiies candidate objects that may be part of cycles and performs a tricolour mark-scan on their subgraph in a lazy manner to ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computer Languages, Systems & Structures

دوره 38  شماره 

صفحات  -

تاریخ انتشار 2012